Freeze measurement score indices#4473
Conversation
✅MegaLinter analysis: Success
Notices📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining See detailed reports in MegaLinter artifacts Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining
|
|
Closing after a second validation attempt. The branch remains red specifically across the NumPy 3.11, 3.12, and 3.14 matrix jobs, despite packaging, documentation, lint, security, JAX, and PyTorch paths being healthy. The change is a small defensive immutability hardening, and resolving the backend-specific compatibility fallout is disproportionate to its current value. The focused patch remains recoverable if this mutation pattern is observed in real use. |
Pull request was closed

Bug
MeasurementScoreis a frozen dataclass in a module explicitly providing non-mutating result containers, but it retained the caller's mutableactive_measurement_indiceslist directly.That allowed external mutation to change an already-created score. In particular, appending to an originally empty list could silently change
score.is_activefromFalsetoTrue, potentially causing update logic to treat a skipped measurement batch as active.Fix
active_measurement_indicesto an owned tuple in__post_init__Validation
main, 0 behindThe full repository matrix should run on this pull request.